---
type: tutorial
unitTitle: Create and deploy your first Astro site
title: 'Check in: Unit 1 - Setup'
description: >-
  Tutorial: Build your first Astro blog —

  Prepare your development environment, and create and deploy your first Astro
  site
i18nReady: true
---
import Badge from '~/components/Badge.astro';
import Checklist from '~/components/Checklist.astro';
import Box from '~/components/tutorial/Box.astro';
import { Steps } from '@astrojs/starlight/components';

Now that you know what you're going to build, it's time to set up all the tools you'll need! 

This unit shows you how to set up your development environment and deploy to Netlify. Skip ahead to [Unit 2](/en/tutorial/2-pages/) if you are already comfortable with your environment and workflow.

:::tip[Using StackBlitz]

Want to complete this tutorial in an online code editor instead?
<details>
<summary>Follow these instructions, then go directly to Unit 2!</summary>

**Set up StackBlitz**

<Steps>
1. Visit [astro.new](https://astro.new) and click the button to open the "Empty Project" template in StackBlitz. 

2. Click "Sign in" on the top right to log in using your GitHub credentials.

3. In the upper left of the StackBlitz editor window, click to "fork" the template (save to your own account dashboard).

4. Wait for the project to load, and you will see a live preview of the "Empty Project" starter.
</Steps>

**Make a Change**

In the file pane, you should see `src/pages/index.astro`. Click to open it, and follow [Write your first line of Astro](/en/tutorial/1-setup/3/) to make a change to this file.

**Create a GitHub Repository**

<Steps>
1. Press the <kbd>Connect Repository</kbd> button at the top of your list of files, enter a new name for your repository, and click <kbd>Create repo & push</kbd>. 

2. When you have changes to be committed back to GitHub, a "Commit" button will appear at the top left of your workspace. Clicking on this will allow you to enter a commit message, and update your repository.
</Steps>

**Deploy your Site**

If you'd like to deploy to Netlify, skip to [Deploy your site to the web](/en/tutorial/1-setup/5/).
Otherwise, skip to [Unit 2](/en/tutorial/2-pages/) to start building with Astro!

</details>
:::

## Where are you going?

In this unit, you will **create a new project** that is **stored online in GitHub** and **connected to Netlify**. 

As you write code, you will periodically commit your changes to GitHub. Netlify will use the files in your GitHub repository to build your website, and then publish it on the internet at a unique address where anyone can view it.

Every time you commit a change to GitHub, a notification will be sent to Netlify. Then, Netlify will automatically rebuild and republish your live site to reflect those changes.



<Box icon="check-list">
## Checklist

<Checklist>
- [ ] I'm ready to prepare a development environment for an Astro project!
</Checklist>
</Box>
